1. Field of the Invention
The present invention relates to optimizing a communications controller and, in particular, to interleaving TDM format for multiple high speed links to a port of the communications controller.
2. Background Information
The advent of the telephone has had a great impact in the way people communicate. Instead of walking to the recipient of the message or waiting days for mail to arrive, one can simply pick up a phone and dial the other party. The phones are connected through a switching system and the communication boundaries are only limited by the extent of the system. Because communication is almost instantaneous, one can receive up-to-date news at the time of the conversation.
A new form of communication has emerged with the development of computer networking. Examples are Local Area Networking (LAN) and Wide Area Networking (WAN) such as the Internet. These networks accommodate a messaging system known as electronic mail (e-mail). Typically, a user connected to a network transmits e-mail by sending it to an e-mail server that services the e-mail recipient. On receipt, the e-mail server stores the e-mail in individual electronic mail-boxes until its recipient accesses the server. The server then makes available the e-mail for his disposal. Like a telephone call, e-mail is also transmitted almost instantaneously among the various users; however, an additional advantage is that in the case of a long distance call, the use of e-mail provides substantial savings over the long distance toll charges.
There has been a drive to provide integrated voice/data services such as Voice over Frame relay (VoFR), Voice over Asynchronous Transfer Mode (VoATM) and Voice over Internet Protocol (VoIP). For instance, the Internet allows for voice, video and data to be transmitted through its network and it is a matter of developing hardware and software to convert voice into a format suitable for transmission. The resulting benefit is that telephone calls and faxes can be made through a computer coupled to the Internet. As an example, suppose an office has a contract with an Internet Service Provider (ISP) and is connected to it via a leased line. The office may then transmit telephone calls and faxes via the Internet without requiring additional services from the telephone company.
A router installed at the ISP or at the user""s end having voice/data integration capabilities provides for voice/data networking, opening a door to WAN voice/data/fax multiservicing and Internet telephony markets. In instances where information is transmitted via a T1/E1 carrier, the receiving router needs to process the information carried by the carrier. To accommodate this, communication controllers within the router interface with the T1/E1 carriers.
An example of an interface suitable for such use is the MPC860 communications controller, available from Motorola. Details of the MPC860 may be found in a technical manual titled xe2x80x9cMPC860 PowerQUICC User""s Manualxe2x80x9d available from Motorola.
The MPC860 is an integrated communications controller having a plurality of serial communication controllers (SCCs) to control the serial data transfer that is interfaced to the MPC 860. An SCC includes a transmit (Tx) buffer and a receive (Rx) buffer coupled to a Tx Direct Memory Access (DMA) controller and a Rx DMA respectively, for transfer of data to and from the main memory that is coupled to the MPC860. The MPC860 includes a Time-Slot Assigner (TSA) with two serial ports that interface with the serial data transmitted to the MPC860, and it steers the serial data to the respective SCCs. As is typical with communication controllers, the MPC860 is limited to one high speed link per serial port (or maximum of two high speed links) due to relatively small buffering capabilities of the Tx and the Rx buffers. The MPC860 may operate in Non-Multiplexed Serial Interface (NMSI) mode. As the name implies, the serial interface is not multiplexed and hence, the SCCs have fixed assignments to the NMSI interfaces on the device (MPC860). One of the disadvantages in this mode of operation is that it is not possible to support multiple data links, i.e. channelized T1/E1 service over T1/E1 trunk. The result is only fractional T1/E1 service can be supported in this mode.
Alternatively, the MPC860 may operate in a Time Division Multiplexing (TDM) mode. The TDM mode enables multiplexing of multiple high speed links onto one serial port. In this instance, the MPC860 does not limit the association of the TDM data with any particular SCCs; the SCCs may be assigned to any part of the serial TDM stream, without any dependencies to each other. However, the use of TDM mode is not problem free. The next obvious step would be to employ an external time switching device to merge the multiple TDM sources into a single rate adapted stream, whose speed is the sum of the sources. The resulting stream would terminate at the serial TDM port of the communications controller. This approach may work if the combined stream does not have an excessively high clock speed. However, as speeds increase with the number of links combined, the shallow SCC buffers begin to show problems in the form of transmit (Tx) underruns and receive (Rx) overflows. An overflow is a situation in which the Rx DMA is unable to empty the Rx buffer faster than it is being filled. Conversely, an underrun is a situation in which the Tx DMA is unable to fill the Tx buffer faster than it is being emptied. This is due to the fact that the several DMAs are competing for the same local bus and the main memory resources. This undermines the performance of the MPC860 and as well as the network, because packet corruptions are handled at higher layers in the communications protocol stack and great effort is required for a recovery. Furthermore, the TSA operates according to the entries stored in the Serial Interface Random Access Memory (SI RAM) which contains SCC routing information in the TDM mode. However, the number of entries in the SI RAM are limited. For instance, each entry may represent route information for one timeslot and the SI RAM may not have sufficient entries to address all the timeslots in the multiplexed high speed link.
In accordance with the invention, a TDM interleaving circuit, such as a TDM bus controller, interleaves multiple TDM data links to form a high data density interleaved TDM stream at a port of a communications controller. The interleaved TDM format maximizes the data transfer to a Time Slot Assigner (TSA), internal to the communications controller to which the port is coupled. The TSA includes a Serial Interface Random Access Memory (SI RAM), wherein its entries contain routing information to steer the interleaved TDM data stream to pertinent Serial Communications Controllers (SCCs) also internal to the communication controller. Typically, the interleaved TDM format is rather complex and the decoding capabilities of the TSA is rather limited. To simplify the decoding process, a clock gapping function is provided that xe2x80x9cgapsxe2x80x9d the clock for all timeslots (or data bits) that are not provisioned or merely used for signaling/framing.
The communications controller configures the clock gapping function block and the SI RAM so that they both operate synchronously. The communication controller programs the clock gapping function block so that portions of the interleaved TDM data stream that are not provisioned are appropriately clock gapped. Whether certain portions of the TDM data stream are provisioned or non-provisioned may be obtained extrinsically by the communication controller, for instance, via network device administrator input. Further, the communication controller programs the SI RAM with entries that contain routing information corresponding to the clock gapped TDM data stream so that the TSA is able to correctly steer the TDM data stream to the appropriate SCCs. Using the gapped clock, the TSA is able to determine the time sequence in which to access the entries in the SI RAM.